<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us" lang="en-us">
<head>
  <link href="//gmpg.org/xfn/11" rel="profile">
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <meta name="generator" content="Hugo 0.68.3" />

  
  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <title>软件测试基础 &middot; 我的博客</title>

  
  <link type="text/css" rel="stylesheet" href="/my_technology_blog/css/print.css" media="print">
  <link type="text/css" rel="stylesheet" href="/my_technology_blog/css/poole.css">
  <link type="text/css" rel="stylesheet" href="/my_technology_blog/css/syntax.css">
  <link type="text/css" rel="stylesheet" href="/my_technology_blog/css/hyde.css">
    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Abril+Fatface|PT+Sans:400,400i,700">


  
  <link rel="apple-touch-icon-precomposed" sizes="144x144" href="/apple-touch-icon-144-precomposed.png">
  <link rel="shortcut icon" href="/favicon.png">

  
  
</head>

  <body class="theme-base-0b ">
  <aside class="sidebar">
  <div class="container sidebar-sticky">
    <div class="sidebar-about">
      <a href="/my_technology_blog/"><h1>我的博客</h1></a>
      <p class="lead">
       杨博的博客 
      </p>
    </div>

    <nav>
      <ul class="sidebar-nav">
        <li><a href="/my_technology_blog/">Home</a> </li>
        
      </ul>
    </nav>

    <p>&copy; 2021. All rights reserved. </p>
  </div>
</aside>

    <main class="content container">
    <div class="post">
  <h1>软件测试基础</h1>
  <time datetime=2021-04-29T19:23:21&#43;0800 class="post-date">Thu, Apr 29, 2021</time>
  <p>###1、软件架构分类</p>
<p><strong>B\S架构</strong></p>
<p>​	浏览器-服务器。例如百度这种网页。</p>
<p><strong>C\S架构</strong></p>
<p>​	客户端-服务器。例如微信这种需要下载程序的。</p>
<p><strong>区别：</strong></p>
<ol>
<li>因为B\S架构只用开发服务端，而C\S是客户端和服务端都需要开发，所以B\S架构开发效率比C\S架构开发效率高。</li>
<li>B\S架构只有服务端在处理数据，而C\S架构客户端也会进行一些数据处理，所以C\S架构执行效率更高。</li>
<li>B\S架构用的http协议进行传输，但是http协议是明文传输的，容易造成信息泄露，所以B\S架构相对来说不如C\S安全</li>
<li>B\S升级只需要升级服务器，用户在浏览器上只需要刷新就可以了；而C\S架构服务器和客户端都需要升级。</li>
</ol>
<h3 id="2测试模型">2、测试模型</h3>
<p><strong>V模型</strong></p>
<p>V模型的生命周期：</p>
<p><img src="1.png" alt="image-20210426102925418"></p>
<p>V模型只把测试当作在需求分析、系统设计以及编码后的一个阶段，但是却忽略了测试对需求分析、系统设计的验证，需求的满足到最后才会做验证。</p>
<p>解决思路：当软件在开发时，研发人员与测试人员同步进行工作，这样可以尽早发现系统中的BUG，不会到最后测试时才发现BUG，导致解决了BUG，又出现了新的BUG。</p>
<p>V模型的优点：</p>
<ol>
<li>每个阶段都清晰明了，便于控制开发的每个过程</li>
<li>既包含单元测试，又包含系统测试</li>
</ol>
<p>V模型的缺点：</p>
<ol>
<li>测试介入较晚，对于前期的一些缺陷无从发现和修改</li>
<li>测试和开发串行</li>
</ol>
<p><strong>W模型</strong></p>
<p>W模型是V模型的发展，相对于V模型，W模型测试人员介入更早，伴随着软件开发的整个生命周期，而且W模型测试的不仅仅是程序，也会对需求、功能、设计进行测试。</p>
<p>W模型的生命周期：</p>
<p><img src="2.png" alt="image-20210426103243234"></p>
<p>W模型的优点：</p>
<ol>
<li>测试介入早，能够尽早地发现系统中的缺陷</li>
<li>测试伴随整个软件开发的生命周期，不是仅仅测试程序，而且会测试需求、设计，软件的开发过程更加科学，从而有利于尽量减少BUG</li>
<li>测试和开发是独立进行的</li>
</ol>
<p>W模型的缺点：</p>
<ol>
<li>在一些开发过程中，没有文档的产生，这种情况不适合使用W模型</li>
<li>W模型对于测试人员和开发人员的要求更高。</li>
</ol>
<h3 id="3软件测试的流程">3、软件测试的流程</h3>
<p>测试准备阶段：项目立项、需求分析、需求评审。产生需求文档和产品需求说明书</p>
<p>测试计划阶段：编写测试计划，进行测试计划评估。产生测试计划</p>
<p>测试设计阶段：根据测试计划提取测试点和编写测试用例，测试用例评估。 产生测试用例</p>
<p>测试执行阶段：对核心功能进行冒烟测试，执行测试用例，提交BUG，回归测试。产生缺陷报告</p>
<p>测试完成阶段：进行验收测试，编写测试报告、项目上线。产生测试报告</p>

</div>


    </main>

    
  </body>
</html>
